<?php
namespace Sfsn\Core\Controller;

/**
 * 工厂类
 * 
 * 用于创建实例
 * 
 * @author shooke
 *
 */
class Factory
{
    /**
     * 类名称映射
     * @var unknown
     */
    public static $classAlias = [
        'cookie'=>'\Sfsn\Core\Http\Cookie',
        'session'=>'\Sfsn\Core\Http\Session',
        'route'=>'\Sfsn\Core\Http\Route',
        'request'=>'\Sfsn\Core\Http\Request',
        'autoload'=>'\Sfsn\Core\Controller\AutoLoad',
        'template'=>'\Sfsn\Core\View\Template',
        
    ];
    
    /**
     * 配置类名映射
     * @param unknown $alias
     */
    public static function config($alias){
        self::$classAlias = array_merge(self::$classAlias,$alias);
    }
    
    /**
     * 创建实例
     * @param string $class
     * @return object
     */
    public static function create($class = null)
    {
        if (is_null($class)){
            return ;
        }else {
            return new self::$classAlias[$class];
        }
    }
}

?>